
package Controllers;

import Domein.Deelname;
import Domein.SpelerDeelname;
import java.awt.*;
import java.awt.event.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;

/**
 *
 * @author Tim
 */
public class Login implements ActionListener,KeyListener {
    
    /**
     *
     */
    public GUI.Login gl;
    /**
     *
     */
    public String melding = "";
    /**
     *
     */
    public Domein.Database db = new Domein.Database();

    /**
     *
     * @param l
     */
    public Login(GUI.Login l){
        this.gl = l;
    }

    /**
     *
     */
    public void inloggen() {
        if(gl.gebruikersnaamText.getText().trim().equals("") || gl.wachtwoordText.getPassword().length == 0) {
             JOptionPane.showMessageDialog(gl.gc,"De volgende velden zijn niet correct ingevuld: \nGeen gebruikersnaam en/of wachtwoord!");
        } else {
            if(db.vindSpeler(gl.gebruikersnaamText.getText().toLowerCase().trim())) {
                try {
                    Domein.Speler temp = db.spelerOpenen(gl.gebruikersnaamText.getText().trim());
                    if(temp.wachtwoordControlleren(gl.wachtwoordText.getPassword())) {
                        gl.gc.spelerIngelogd = temp;
                        gl.gc.menu.setMenu("speler");
                        gl.gc.setGUI("tafel");
                        if(gl.gc.cspelers.aantalSchermen > 1){
                        gl.gc.toBack();
                        }
                    } else {
                        JOptionPane.showMessageDialog(gl.gc,"De volgende velden zijn niet correct ingevuld: \nGeen gebruikersnaam en/of wachtwoord!");
                    }
                } catch (Exception ex) {
                    JOptionPane.showMessageDialog(gl.gc,"De volgende velden zijn niet correct ingevuld: \n" + ex.getMessage());
                }
            } else {
                JOptionPane.showMessageDialog(gl.gc,"De volgende velden zijn niet correct ingevuld: \nGeen gebruikersnaam en/of wachtwoord!");
            }
        }
    }

    public void actionPerformed(ActionEvent e) {
        if(e.getSource() == gl.ok){
            inloggen();
        }
    }

    public void keyTyped(KeyEvent e) {
    }

    public void keyPressed(KeyEvent e) {
        int key = e.getKeyCode();
        if (key == KeyEvent.VK_ENTER) {
            inloggen();
        }
    }

    public void keyReleased(KeyEvent e) {
    }
}

